﻿/************************************************************************

 This file is part of "10 Second Tim".

 "10 Second Tim" is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 "10 Second Tim" is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with "10 Second Tim".  If not, see <http://www.gnu.org/licenses/>.

************************************************************************/

// All code (c)2013 Scott Bevin. all rights reserved

using System.Collections.Generic;
using LDE.Input;

namespace LDE
{
	public class Player
	{
		private static Player instance = new Player( );

		public static Player Get { get { return instance; } }

		private InputHandler m_input = new InputHandler( );
		private List<object> m_owners = new List<object>( );

		public InputHandler GetInput( object owner )
		{
			if ( m_owners.Count == 0 || m_owners[ m_owners.Count - 1 ] == owner )
				return m_input;

			return null;
		}

		public void PushOwner( object owner )
		{
			m_owners.Add( owner );
		}

		public void PopOwner( object owner )
		{
			m_owners.Remove( owner );
		}
	}
}